'use strict';

function func1() {
    var a = [1, 2, 3];
    for (var x of a) {
        //...
    }
    console.log('你的浏览器支持for ... of');
}

/**
 *
 * 遍历Array可以采用下标循环，遍历Map和Set就无法使用下标。为了统一集合类型，ES6标准引入了新的iterable类型，Array、Map和Set都属于iterable类型。

 具有iterable类型的集合可以通过新的for ... of循环来遍历。
 */
function func2() {
    // 用for ... of循环遍历集合，用法如下：
    // 定义一个数组
    var a = ['A', 'B', 'C'];
    // 定义一个Set
    var s = new Set(['A', 'B', 'C']);
    // 定义一个Map
    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    // 遍历数组
    for (var x of a) {
        console.log(x);
    }
    // 遍历Set
    for (var x of s) {
        console.log(x);
    }
    // 遍历Map
    for (var x of m) {
        console.log(x[0] + '=' + x[1]);
    }
}